package function1;

import java.util.function.BinaryOperator;

/**
 * @Description TODO
 * @Author li
 * @Date 2022/5/10 11:08 下午
 */
public class BinaryOperatorDemo {

    /**
     * 功能描述 BinaryOperator接口用于执行lambda表达式，接受两个T类型的参数并返回一个T类型的返回值。
     *        BinaryOperator中有两个静态方法，是用于比较两个数字或字符串的大小
     * @author YiPeng
     * @date 2022/5/10
     * @param * @param:		null
     * @return void
     */
    public static void binaryOperatorDemo(){
        BinaryOperator<Integer> add = (n1,n2) -> n1 + n2;
        System.out.println(add.apply(1,2));
        // 排序，返回最大值 comparator.compare(a, b) >= 0 ? a : b
        System.out.println(BinaryOperator.maxBy(Integer::compareTo).apply(2,3));
        // 排序，返回最小值 comparator.compare(a, b) <= 0 ? a : b
        System.out.println(BinaryOperator.minBy(Integer::compareTo).apply(2,3));
    }

    public static void main(String[] args) {
        binaryOperatorDemo();
    }
}
